// !精通
// todo 函数封装成promise函数，无脑的return new Promise
// const sleep = (time) => {
//   return new Promise((resolve, reject) => {
//     setTimeout(() => {
//       resolve();
//     }, time);
//   });
// };

// sleep(2000).then(() => {
//   console.log(123);
// });

const fs = require("fs");

const read = (url) => {
  return new Promise((resolve, reject) => {
    fs.readFile(url, "utf-8", (err, data) => {
      if (err) {
        reject(err);
      }
      resolve(data);
    });
  });
};

read("./03-promise.js")
  .then((res) => {
    console.log(res);
    return read("./02-回调函数.js");
  })
  .then((res) => {
    console.log(res);
    return read("./01-事件.html");
  })
  .then((res) => {
    console.log(res);
  })
  .catch((err) => {
    throw err;
  });
